feat: Introduce knex for database migrations
- Adds knex.js to manage database schema changes systematically. - Creates an initial migration file based on `hyungi_schema_v2.sql` to represent the current database state. - Adds npm scripts (`db:migrate`, `db:rollback`, etc.) for easy execution of migration tasks. - Archives legacy SQL files and old migration scripts into the `db_archive/` directory to prevent confusion and clean up the project structure.
This commit is contained in:
57
api.hyungi.net/knexfile.js
Normal file
57
api.hyungi.net/knexfile.js
Normal file
@@ -0,0 +1,57 @@
|
||||
require('dotenv').config();
|
||||
|
||||
module.exports = {
|
||||
development: {
|
||||
client: 'mysql2',
|
||||
connection: {
|
||||
host: process.env.DB_HOST,
|
||||
port: process.env.DB_PORT,
|
||||
user: process.env.DB_USER,
|
||||
password: process.env.DB_PASSWORD,
|
||||
database: process.env.DB_NAME,
|
||||
socketPath: process.env.DB_SOCKET
|
||||
},
|
||||
migrations: {
|
||||
directory: './db/migrations'
|
||||
},
|
||||
seeds: {
|
||||
directory: './db/seeds'
|
||||
}
|
||||
},
|
||||
|
||||
staging: {
|
||||
client: 'mysql2',
|
||||
connection: {
|
||||
host: process.env.DB_HOST,
|
||||
port: process.env.DB_PORT,
|
||||
user: process.env.DB_USER,
|
||||
password: process.env.DB_PASSWORD,
|
||||
database: process.env.DB_NAME,
|
||||
socketPath: process.env.DB_SOCKET
|
||||
},
|
||||
migrations: {
|
||||
directory: './db/migrations'
|
||||
},
|
||||
seeds: {
|
||||
directory: './db/seeds'
|
||||
}
|
||||
},
|
||||
|
||||
production: {
|
||||
client: 'mysql2',
|
||||
connection: {
|
||||
host: process.env.DB_HOST,
|
||||
port: process.env.DB_PORT,
|
||||
user: process.env.DB_USER,
|
||||
password: process.env.DB_PASSWORD,
|
||||
database: process.env.DB_NAME,
|
||||
socketPath: process.env.DB_SOCKET
|
||||
},
|
||||
migrations: {
|
||||
directory: './db/migrations'
|
||||
},
|
||||
seeds: {
|
||||
directory: './db/seeds'
|
||||
}
|
||||
}
|
||||
};
|
||||
Reference in New Issue
Block a user