code: func (l *LiteBackend) Import(ctx context.Context, items []backend.Item) error {
  	for i := range items {
  		if items[i].Key == nil {
  			return trace.BadParameter("missing parameter key in item %v", i)
  		}
  	}
  	err := l.inTransaction(ctx, func(tx *sql.Tx) error {
  		q, err := tx.PrepareContext(ctx,
  			"SELECT imported from meta LIMIT 1")
  		if err != nil {
  			return trace.Wrap(err)
  		}
  		var imported bool
  		row := q.QueryRowContext(ctx)
  		if err := row.Scan(&imported); err != nil {
  			if err != sql.ErrNoRows {
  				return trace.Wrap(err)
  			}
  		}
  		if imported {
  			return trace.AlreadyExists("database has been already imported")
  		}
  
  		if err := l.putRangeInTransaction(ctx, tx, items, true); err != nil {
  			return trace.Wrap(err)
  		}
  
  		stmt, err := tx.PrepareContext(ctx, "INSERT INTO meta(version, imported) values(?, ?)")
  		if err != nil {
  			return trace.Wrap(err)
  		}
  
  		if _, err := stmt.ExecContext(ctx, schemaVersion, true); err != nil {
  			return trace.Wrap(err)
  		}
  		return nil
  	})
  	if err != nil {
  		return trace.Wrap(err)
  	}
  	return nil
  }
docs: // Import imports elements, makes sure elements are imported only once
  // returns trace.AlreadyExists if elements have been imported