### Body

Currently `start_date` is mandatory parameter.
For DAGs with `schedule=None` we can relax this requirement as no scheduling calculation needed so the `start_date` parameter isn't used.

### Committer

- [X] I acknowledge that I am a maintainer/committer of the Apache Airflow project.
"""
        Test that DagModel.next_dagrun_create_after is set to NULL when the dag cannot be created due to max
        active runs being hit.
        """
        dag = DAG(dag_id="test_scheduler_verify_max_active_runs", start_date=DEFAULT_DATE)
        dag.max_active_runs = 1
        EmptyOperator(task_id="dummy", dag=dag, owner="airflow")
        session = settings.Session()
        dag.clear()
        DAG.bulk_write_to_db([dag], session=session)
        model = session.get(DagModel, dag.dag_id)
        assert model.next_dagrun == DEFAULT_DATE
        assert model.next_dagrun_create_after == DEFAULT_DATE + timedelta(days=1)
        dr = dag.create_dagrun(
            state=state,
            execution_date=model.next_dagrun,
            run_type=DagRunType.SCHEDULED,
            session=session,
        )
        assert dr is not None
        DAG.bulk_write_to_db([dag])
        model = session.get(DagModel, dag.dag_id)
        
        assert model.next_dagrun_create_after is None
        
        DAG.bulk_write_to_db([dag])
        model = session.get(DagModel, dag.dag_id)
        assert model.next_dagrun_create_after is None
    def test_bulk_write_to_db_has_import_error(self):