sql >> Database >  >> RDS >> PostgreSQL

Django 1.8-migratie kan kolom-ID niet casten naar geheel getal

Het probleem is de migratie van Process.milestone als boolean-veld naar Process.milestone als externe sleutel. Postgres wacht niet tot een migratie mislukt op niet-casteerbare gegevens. Het wil een regel om de tafel van tevoren te wijzigen.

Als u geen enkele vorm van gegevensmigratie tussen twee velden van plan bent, is de eenvoudigste optie om het veld gewoon te verwijderen en toe te voegen. In dit specifieke geval zou dit betekenen dat de bewerkingen als volgt moeten worden gewijzigd:

operations = [
    migrations.RemoveField(
        model_name='process',
        name='milestone'
    ),
    migrations.AddField(
        model_name='process',
        name='milestone',
        field=models.ForeignKey(to='processes.Milestone'),
    ),
    migrations.AlterModelOptions(
        name='process',
        options={'ordering': ['milestone', 'sequence'], 'verbose_name_plural': 'processes'},
    )
]


  1. MYSQL-fout krijgen:Foutcode:2006 - MySQL-server is verdwenen

  2. Hernoem een ​​primaire sleutel in SQL Server (T-SQL)

  3. Oracle:profiteer van het gebruik van twee indexen

  4. Kan niet inloggen op database als SYS met Oracle SQL Developer