Caros, estou com problemas ao direcionar o caminho da migration e direcioná-la.
Descrição do erro:
❯ yarn migrations -n CreateUsers
yarn run v1.22.18
warning ../../../../../package.json: No license field
$ typeorm migration:create src/database/migrations/ -n CreateUsers
typeorm migration:create <path>
Creates a new migration file.
Opções:
-h, --help Exibe ajuda [booleano]
-o, --outputJs Generate a migration file on Javascript
instead of Typescript
[booleano] [padrão: false]
-t, --timestamp Custom timestamp for the migration name
[número] [padrão: false]
-v, --version Exibe a versão [booleano]
Argumento desconhecido: n
error Command failed with exit code 1.
Estou estou utilizando typeorm para fazer toda gestão com o bando de dados, porém ao criar a migration, o arquivo não aceita o parâmetro -n (para nomear a migration), sendo assim só está disponível a opção de definir o caminho de salvamento definindo um nome padrão.
"migrations": "typeorm migration:create src/database/migrations/"
Consultei a documentação do typeorm e lá consta o seguinte:
-
"migrationsTableName": "migrations"
- Especifique esta opção apenas se precisar que o nome da tabela de migração seja diferente de"migrations"
.
legal, mas definir um nome irá defini-lo como padrão.
Para que fique mais claro, a documentação pede pra que usemos o arquivo de configuração ormconfig.json para definir as configurações da conexão, nesse arquivo é possível definir a CLI indicando o caminho de salvamento, porém ao continuar, quando criamos o arquivo que chama a conexão, ele informa que createConnection está obsoleto e logo entrará em desuso. O que me obriga a utilizar DataSource para configurar a conxão, porém DataSource não permite especificar a CLI e, só me permite criar tabelas com um nome padrão.
import { DataSource } from "typeorm";
const datasource = new DataSource({
type: "postgres",
host: "localhost",
port: 5432,
username: "postgres",
password: "docker",
database: "marvel_app",
migrations: [ "src/database/migrations/*.ts" ]
})
datasource.initialize()
.then(()=> {
console.log('Connected')
}).catch((err)=> console.log(err))
export default datasource```
Sou novato com o uso do typeorm e gostaria muito se pudessem me dar um feedback por algo fora de contexto. O que eu preciso, é de uma maneira que me permita personalizar o nome da migration no momento em que for criá-la.