---
title: "init(_:schema:url:allowsSave:cloudKitDatabase:)"
framework: swiftdata
role: symbol
role_heading: Initializer
path: "swiftdata/modelconfiguration/init(_:schema:url:allowssave:cloudkitdatabase:)"
---

# init(_:schema:url:allowsSave:cloudKitDatabase:)

Creates a named model configuration that specifies the on-disk location of the schema’s persistent storage.

## Declaration

```swift
init(_ name: String? = nil, schema: Schema? = nil, url: URL, allowsSave: Bool = true, cloudKitDatabase: ModelConfiguration.CloudKitDatabase = .automatic)
```

## Parameters

- `name`: An optional name for the model configuration.
- `schema`: A schema that maps model classes to the associated data in the persistent storage. For more information, see doc://com.apple.SwiftData/documentation/SwiftData/Schema.
- `url`: The on-disk location of the schema’s persistent storage.
- `allowsSave`: A Boolean value that determines whether the associated persistent storage is writable. The default value is true.
- `cloudKitDatabase`: The option to use for detecting the configuration’s CloudKit database. For possible values, see doc://com.apple.SwiftData/documentation/SwiftData/ModelConfiguration/CloudKitDatabase-swift.struct.

## See Also

### Creating a model configuration

- [init(isStoredInMemoryOnly:)](swiftdata/modelconfiguration/init(isstoredinmemoryonly:).md)
- [init(for:isStoredInMemoryOnly:)](swiftdata/modelconfiguration/init(for:isstoredinmemoryonly:).md)
- [init(_:schema:isStoredInMemoryOnly:allowsSave:groupContainer:cloudKitDatabase:)](swiftdata/modelconfiguration/init(_:schema:isstoredinmemoryonly:allowssave:groupcontainer:cloudkitdatabase:).md)
