내가장고 마이그레이션 rawSQL : 당신의 SQL 구문에 오류가 있지만, SQL은
operations = [
migrations.CreateModel(
name='Mileage',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True,
serialize=False, verbose_name='ID')),
('miles', models.DecimalField(max_digits=8, decimal_places=1)),
('start_location', models.CharField(max_length=255)),
('end_location', models.CharField(max_length=255)),
],
),
migrations.CreateModel(
name='Trip',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True,
serialize=False, verbose_name='ID')),
('start_location', models.CharField(max_length=255)),
('end_location', models.CharField(max_length=255)),
('trip_date', models.DateTimeField(verbose_name='trip date')),
],
),
migrations.RunSQL('mymileages.sql'),
]
가 mymileages.sql
파일은 다음과 같습니다 내 장고 앱이 보이는 매우 작은 마이그레이션 (MySQL의 백엔드)가 정확한지 :
INSERT INTO `mileage_mileage` (`miles`, `start_location`, `end_location`) VALUES
(3.7, 'Location 1', 'Location A'),
(2.4, 'Location 2', 'Location B'),
(4.3, 'Location 3', 'Location C');
마이그레이션 외부에서 해당 SQL을 실행할 수 있으며 아무 문제없이 잘 작동합니다. - 내가 잘못 이것에 대해가는 다른 사람들이 지적했다
Programming error: (1064, "You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'mymileages.sql' at line 1")
나는 django에 익숙하지 않지만 RunSQL은 mymileages.sql 파일 내에서 올바른 쿼리가 아닌'mymileages.sql'을 쿼리로 사용한다고 생각합니다. –
bro 마이그레이션은 테이블을 만드는 데 사용됩니다. 마이그레이션 파일을 통해 삽입하는 방법은 무엇입니까? – Exprator