* feat: migrate cli call db adapter * feat: mongoose adapter migrate:create * feat: implement migrate command * feat: use mongooseAdapter in test config * feat: use filename as migration name * feat: intelligently execute migrations, status table * feat: implement migrate:down * feat: implement migrate:reset * feat: implement migrate:refresh * feat: move common adapter operations to database/migrations dir * feat: delete migrations instead of storing ran property * feat: createMigration cleanup * feat: clean up logging and add duration to output * chore: export type, handle graphQL false * chore: simplify getting latest batch number * chore: remove existing migration logging noise * feat: remove adapter export from top level * chore: fix some db types
53 lines
1.6 KiB
TypeScript
53 lines
1.6 KiB
TypeScript
/* eslint-disable no-console */
|
|
|
|
import path from 'path';
|
|
import { buildConfig } from '../buildConfig';
|
|
import { CollectionConfig } from '../../types';
|
|
import { mongooseAdapter } from '../../src/mongoose';
|
|
import payload from '../../src';
|
|
|
|
const Users: CollectionConfig = {
|
|
slug: 'users',
|
|
auth: true,
|
|
fields: [
|
|
{
|
|
name: 'custom',
|
|
type: 'text',
|
|
},
|
|
{
|
|
name: 'checkbox',
|
|
type: 'checkbox',
|
|
},
|
|
],
|
|
};
|
|
|
|
// // @ts-expect-error partial
|
|
// const mockAdapter: DatabaseAdapter = {
|
|
// // payload: undefined,
|
|
// migrationDir: path.resolve(__dirname, '.migrations'),
|
|
// migrateStatus: async () => console.log('TODO: migrateStatus not implemented.'),
|
|
// createMigration: async (): Promise<void> =>
|
|
// console.log('TODO: createMigration not implemented.'),
|
|
// migrate: async (): Promise<void> => console.log('TODO: migrate not implemented.'),
|
|
// migrateDown: async (): Promise<void> =>
|
|
// console.log('TODO: migrateDown not implemented.'),
|
|
// migrateRefresh: async (): Promise<void> =>
|
|
// console.log('TODO: migrateRefresh not implemented.'),
|
|
// migrateReset: async (): Promise<void> =>
|
|
// console.log('TODO: migrateReset not implemented.'),
|
|
// migrateFresh: async (): Promise<void> =>
|
|
// console.log('TODO: migrateFresh not implemented.'),
|
|
// };
|
|
|
|
export default buildConfig({
|
|
serverURL: 'http://localhost:3000',
|
|
admin: {
|
|
user: Users.slug,
|
|
},
|
|
collections: [Users],
|
|
typescript: {
|
|
outputFile: path.resolve(__dirname, 'payload-types.ts'),
|
|
},
|
|
db: mongooseAdapter({ payload, url: 'mongodb://localhost:27017/migrations-cli-test' }),
|
|
});
|